//---------------------------------------------------------------------------
//原生操作API函数定义位置



//---------------------------------------------------------------------------
//百度地图API函数定义位置
//获取位置 lat:纬度 lng:经度
function get_current_position(map) {
	var geolocation = new BMap.Geolocation();
	geolocation.getCurrentPosition(function(r){
		if(this.getStatus() == BMAP_STATUS_SUCCESS){
			var mk = new BMap.Marker(r.point);
			map.addOverlay(mk);
			map.panTo(r.point);
			//地址逆编码
			var myGeo = new BMap.Geocoder({extensions_town: true});
			// 根据坐标得到地址描述    
			myGeo.getLocation(r.point, function(result){      
			    if (result){     
			    alert('您当的位置：'+result.address);      
			    }      
			});
			// get_drive_way(map, r.point);
			//后端发送位置信息
			post_position(r.point.lng, r.point.lat)
		}
		else {
			alert('failed'+this.getStatus());
		}
	});
}

//创建地图
function create_map(){
	var map = new BMap.Map("container", {
	    enableBizAuthLogo: false
	});
	// 创建地图实例  
	var point = new BMap.Point(112.457981, 34.474848);
	// 创建点坐标  
	map.centerAndZoom(point, 16);
	// 初始化地图，设置中心点坐标和地图级别
	var myGeo = new BMap.Geocoder({extensions_town: true});  
	//添加地体控件
	opt1 = {offset: new BMap.Size(200, 10)}
	map.addControl(new BMap.NavigationControl());   
	opts = {offset: new BMap.Size(20, 100)}
	map.addControl(new BMap.ScaleControl(opt1));    
	map.addControl(new BMap.OverviewMapControl(opts));    
	map.addControl(new BMap.MapTypeControl());
	map.enableScrollWheelZoom(true);
	return map;
}

//位置信息上报
function post_position(lat, lng){
	mui.ajax('http://localhost:8080/position/report',{
		data:{
			lat: lat,
			lng: lng
		},
		dataType:'json',//服务器返回json格式数据
		type:'post',//HTTP请求类型
		timeout:10000,//超时时间设置为10秒；
		headers:{'Content-Type':'application/json'},
		success:function(data){
			if (data == true){
				alert("数据已上报")
			}
			else{
				alert("数据上报失败")
			}
		},
		error:function(xhr,type,errorThrown){
			alert("0000")
		}
	});
}

//接收管理端派发的位置信息
function receive_position(){
	mui.ajax('http://localhost:8080/position/send',{
		data:{},
		dataType:'json',//服务器返回json格式数据
		type:'get',//HTTP请求类型
		timeout:10000,//超时时间设置为10秒；
		headers:{'Content-Type':'application/json'},
		success:function(data){
			if (data){
				// var mk = new BMap.Marker(r.point);
				// map.addOverlay(mk);
				// map.panTo(r.point);
				alert(data.lat)
			}
			else{
				alert("数据接收失败")
			}
		},
		error:function(xhr,type,errorThrown){
			alert("0000")
		}
	});
}

//刷新当前位置
function refresh_current_position(){
	map = create_map();
	get_current_position(map);
}


//驾车路线规划
function get_drive_way(map, origin_point,  end_point){
	var driving = new BMap.DrivingRoute(map, { 
	    renderOptions: { 
	        map: map, 
	        autoViewport: true 
	} 
	});
	var start = new BMap.Point(origin_point, origin_point);
	var end = new BMap.Point(end_point.lng, end_point.lat);
	driving.search(start, end);
}


//步行路线规划
function get_walk_way(map, origin_point,  end_point){
	var walk = new BMap.WalkingRoute(map, { 
	    renderOptions: {map: map} 
	}); 
	var start = new BMap.Point(116.310791, 40.003419);
	var end = new BMap.Point(116.486419, 39.877282);
	walk.search(start, end);
}


//-------------------------------------------------------------
//百度地图运行函数调用在这里
map = create_map();
get_current_position(map);
receive_position();